package com.onlyxiahui.framework.action.dispatcher.extend;

import com.onlyxiahui.framework.action.dispatcher.common.ActionMethod;

/**
 * Date 2019-01-12 08:54:45<br>
 * Description
 * 
 * @author XiaHui<br>
 * @since 1.0.0
 */

public interface ActionRequest {

	/**
	 * 
	 * Description <br>
	 * Date 2020-06-01 10:33:55<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public String getPath();

	/**
	 * 
	 * Description <br>
	 * Date 2020-06-01 10:33:58<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public Object getAction();

	/**
	 * 
	 * Description <br>
	 * Date 2020-06-01 10:34:02<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public Object getData();

	/**
	 * 
	 * Description <br>
	 * Date 2020-06-01 10:34:09<br>
	 * 
	 * @return
	 * @since 1.0.0
	 */
	public ActionMethod getActionMethod();

	/**
	 * 
	 * Date 2019-01-12 09:04:13<br>
	 * Description 添加属性
	 * 
	 * @param key
	 * @param value
	 * @since 1.0.0
	 */
	public void addAttribute(Object key, Object value);

	/**
	 * 
	 * Date 2019-01-12 09:04:00<br>
	 * Description 获取属性
	 * 
	 * @param key
	 * @return
	 * @since 1.0.0
	 */
	public <T> T getAttribute(Object key);
}
